inspector: Properly clean up
authorMatthias Clasen <mclasen@redhat.com>
Tue, 2 Apr 2019 21:19:50 +0000 (21:19 +0000)
committerMatthias Clasen <mclasen@redhat.com>
Tue, 2 Apr 2019 21:21:46 +0000 (21:21 +0000)
I got a crash in inspector code when I hit
cancel in the confirmation dialog for it.

gtk/inspector/window.c

index 191bbb90b3f23e29ebe261bb94fb185269693984..3dc4475742ec40fcaab357479efe7ae20e79739b 100644 (file)
@@ -258,6 +258,14 @@ gtk_inspector_window_constructed (GObject *object)
   g_object_set_data (G_OBJECT (gdk_display_get_default ()), "-gtk-inspector", iw);
 }
 
+static void
+gtk_inspector_window_dispose (GObject *object)
+{
+  g_object_set_data (G_OBJECT (gdk_display_get_default ()), "-gtk-inspector", NULL);
+
+  G_OBJECT_CLASS (gtk_inspector_window_parent_class)->dispose (object);
+}
+
 static void
 object_details_changed (GtkWidget          *combo,
                         GParamSpec         *pspec,
@@ -284,6 +292,7 @@ gtk_inspector_window_class_init (GtkInspectorWindowClass *klass)
   GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass);
 
   object_class->constructed = gtk_inspector_window_constructed;
+  object_class->dispose = gtk_inspector_window_dispose;
   widget_class->realize = gtk_inspector_window_realize;
 
   g_signal_new (g_intern_static_string ("event"),